#ifndef pkm_texture_depot_h
#define pkm_texture_depot_h

#include "AbstractTexture.h"
#include <string>

#define MAX_TEXTURES 4096

// Please don't try to 'unload' textures... that's not quite supported at the moment
namespace k2graphics 
{

class TextureDepot
{
public:
	TextureDepot();
	void setTexture(AbstractTexture* src, int destSlot);
	AbstractTexture* getTexture(int slot);

	int loadRawTextureFromFile(std::string& filename, int textureSlot);
	int createSubTexture(int srcTex, int destTex, float left, float top, float width, float height);
private:
	AbstractTexture* _textures[MAX_TEXTURES];
};

}
#endif
